package com.lenin.metro.client;

import java.util.List;

import com.google.gwt.user.client.rpc.AsyncCallback;
import com.lenin.metro.shared.MapCoordinates;
import com.lenin.metro.shared.MapObject;
import com.lenin.metro.shared.TileGroup;
import com.lenin.metro.shared.TileMetrics;

/**
 * The async counterpart of <code>GreetingService</code>.
 */
public interface GreetingServiceAsync {
	
	public void test(int id, AsyncCallback<Void> callback);
	
	public void getMapObjectsByCoords(MapCoordinates topLeftCoords, 
			MapCoordinates bottomRightCoords, AsyncCallback<List<MapObject>> callback);
	
	public void getTileGroupsByCoords(List<MapCoordinates> coordsList, TileMetrics.MetricsConfig metrics, 
			AsyncCallback<List<TileGroup>> callback);
	
	public void getTileGroupByCoords(MapCoordinates coords, TileMetrics.MetricsConfig metrics,
			AsyncCallback<TileGroup> callback);
	
}
